FIG. 9 is a block diagram illustrating a configuration of a server 30 that connects an external device 40. The server 30 illustrated in FIG. 9 includes a BIOS (basic input output system) 31, a port 32, a keyboard 34, and a display 35. A connector 42 of the external device 40 which is connected to the server 30 is inserted into the port 32 and the external device 40 is connected to the server 30 through the connector 42 and a cable 41. The server 30 is provided with the keyboard 34 which inputs various information in accordance with the manipulation of an operator and the display 35 that displays the various information to notify the information to the operator.
After the BIOS 31 runs, if the external device 40 is connected to the server 30, the BIOS 31 detects the connection of the external device 40 and performs connection processing of the device 40. The connection processing is processing that associates the device 40 with a device driver of the BIOS 31.
Further, after connecting the external device 40 to the server 30 to perform the connection processing of the device 40, if the external device 40 is disconnected from the server 30, the BIOS 31 detects the disconnection of the device 40 and performs disconnection processing of the device 40. The disconnection processing is processing that disassociates the device 40 from the device driver of the BIOS 31.
The connection processing and the disconnection processing that are performed in association with the connecting/disconnecting operation of the external device 40 with/from the server 30 as described above are normal device recognition processing of the BIOS 31 and also performed at the time of a device reconnection processing which will be described below.
In the server 30 as illustrated in FIG. 9, the device reconnection processing is performed by the BIOS 31 in accordance with a reconnecting command.
The device reconnection processing is processing at the side of the BIOS 31, that is, processing which is performed by the BIOS 31. The device reconnection processing performs the disconnection processing that disassociates the device mounted in the server 30 or the external device 40 connected to the server 30 from the device driver of the BIOS 31, and then performs the connection processing that associates the devices with the device driver again. Further, the device which is mounted in the server 30 is referred to as a “built-in device”. A command which performs the device reconnection processing on all the built-in device of the server 30 and the external device 40 connected to the server 30 is a reconnecting command.
If a device to be supported is newly set in the server 30, for example, the device reconnection processing is performed in order to associate the device with the device driver again. The device reconnection processing, for example, is performed as the operator manipulates the keyboard 34 to input the reconnecting command.
FIG. 10 is a timing chart explaining a procedure of the device reconnection processing by the BIOS 31 which is performed in the server 30 having n built-in devices d1 to dn in accordance with one reconnecting command. Further, n is a natural number which is 2 or larger. Here, it is considered that the external device 40 is not connected to the server 30. In this case, if the reconnecting command is received to start the device reconnection processing, as illustrated in FIG. 10, first, the BIOS 31 sequentially performs the disconnection processing from the built-in device d1 to the built-in device dn. Next, the BIOS 31 sequentially performs the connection processing from the built-in device d1 to the built-in device dn.
FIG. 11 is a timing chart explaining a procedure of the device reconnection processing by the BIOS 31 which is performed in the server 30 which has built-in devices d1 to dm−1 and dm+1 to dn and is connected to the external device in advance in accordance with one reconnecting command, m is a natural number which is larger than 1 and less than n and the disconnection processing or the connection processing of the external device 40 is performed in the m-th order among of the disconnection processing or the connection processing of the n devices including the external device 40. The devices (the built-in devices and the external device 40) in the server 30 are managed as a tree by the BIOS 31 and the value of m is determined in accordance with the position of the external device 40 in the tree. In this case, if the reconnecting command is received to start the device reconnection processing, as illustrated in FIG. 11, first, the BIOS 31 sequentially performs the disconnection processing of the built-in devices d1 to dm−1, the external device 40, and the built-in devices dm+1 to dn. Next, the BIOS 31 sequentially performs the connection processing of the built-in devices d1 to dm−1, the external device 40, and the built-in devices dm+1 to dn.
However, while the BIOS 31 performs the device reconnection processing, the operator may perform connecting/disconnecting manipulation of the external device 40 to/from the server 30. In this case, the disconnection processing or the connection processing of the external device 40 by the device reconnection process may compete against the disconnection processing or the connection processing which is performed by the BIOS 31 in accordance with the connecting/disconnecting manipulation of the external device 40 by the operator.
If the above-mentioned competition occurs, resources may become scrambled in the server 30, which causes failures such as hang-up.